Storage devices using semiconductor elements are broadly classified into two categories: a volatile memory device that loses stored data when power supply stops, and a non-volatile memory device that retains stored data even when power is not supplied.
A typical example of a volatile storage device is a DRAM (dynamic random access memory). A DRAM stores data in such a manner that a transistor included in a storage element is selected and charge is stored in a capacitor.
When data is read from a DRAM, charge in a capacitor is lost on the above-described principle; thus, another writing operation is needed when data is stored again after data is read. A data storage period is short because charge flows from/into a transistor forming a memory element by leakage current between a source and a drain in an off state (off-state current) or the like even when the transistor is not selected. For that reason, another writing operation (refresh operation) is necessary at predetermined intervals, and it is difficult to reduce power consumption sufficiently. Furthermore, since stored data is lost when power supply stops, an additional storage device including a magnetic material or an optical material is needed in order to hold the data for a long time.
Another example of a volatile storage device is an SRAM (static random access memory). An SRAM retains stored data by using a circuit such as a flip-flop and thus does not need refresh operation; on this point, an SRAM has an advantage over a DRAM. However, cost per storage capacity is increased because a circuit such as a flip-flop is used. Moreover, as in a DRAM, stored data in an SRAM is lost when power supply stops.
A typical example of a non-volatile storage device is a flash memory. A flash memory includes a floating gate between a gate electrode and a channel formation region of a transistor and stores data by holding charge in the floating gate. Therefore, a flash memory has advantages that the data storage period is extremely long (almost permanent) and refresh operation which is necessary in a volatile storage device is not needed (e.g., see Patent Document 1).
However, a gate insulating layer included in a memory element deteriorates by a tunneling current which flows in writing operation, so that the memory element stops its function after a numerous number of times of writing operations. In order to avoid this problem, a method in which the number of times of writing operations for memory elements is equalized is employed, for example. However, complicated peripheral circuits are additionally needed to realize this method. Moreover, employing such a method does not solve the lifetime problem, which is fundamental. In other words, a flash memory is not suitable for applications in which data is frequently rewritten.
In addition, high voltage is necessary for injecting charge to the floating gate or removing the charge. Further, it takes a relatively long time to inject or remove charge, and it is not easy to perform writing and erasing data at higher speed.